
public class Anhaengekupplung {

	private Anhaenger anhaenger = null;
	
	/**
	 * load:
	 * 		Fuegt einen Anhaenger an diese Anhaengekupplung an.
	 * 		In der Anhaengekupplung wird eine Referenz auf den Anhaenger gesetzt,
	 * 		in dem Anhaenger wird eine Referenz auf die Kupplung gesetzt.
	 *  load nur moeglich solange kein Anhaenger / keine Kupplung gesetzt wurde.
	 */
	
	public boolean load(Anhaenger anhaenger) {
		if(this.anhaenger != null && anhaenger.getAnhaengekupplung() != null) {
			return false;
		}
		this.anhaenger = anhaenger;
		anhaenger.setAnheangekupplung(this);
		
		return true;
	}
	
	/**
	 * unload:
	 *  	Haengt einen Anhaenger von der Kupplung ab, dabei wird die Referenz
	 *  	im Anhaenger und in der Kupplung wieder geloescht.
	 */
	
	public Anhaenger unload() {
		Anhaenger anhaenger = this.anhaenger;
		anhaenger.setAnheangekupplung(null);
		this.anhaenger = null;
		return anhaenger;
	}
	
	public Anhaenger getAnhaenger(){
		return anhaenger;
	}
}
